home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / mdisp < prev    next >
Internet Message Format  |  1995-03-31  |  21KB

  1. From: Rick Grevelle <ftg0673@tamsun.tamu.edu>
  2. Subject:  v03i017:  mdisp - Faster DISP v1.0, Part01/01
  3. Newsgroups: comp.sources.hp48
  4. Followup-To: comp.sys.hp48
  5. Approved: spell@seq.uncwil.edu
  6.  
  7. Checksum: 3545890271 (verify with brik -cv)
  8. Submitted-by: Rick Grevelle <ftg0673@tamsun.tamu.edu>
  9. Posting-number: Volume 3, Issue 17
  10. Archive-name: mdisp/part01
  11.  
  12.  
  13.  
  14. BEGIN_DOC mdisp.doc
  15.  
  16. What follows is partly a repost of an article which first appeared in
  17. comp.sys.hp48 regarding a somewhat faster machine routine version of
  18. DISP.  A few individuals have requested the source code in order that
  19. they too might make modifications to suit other needs.  A few points
  20. regarding this scheme and its purpose are as follows:
  21.  
  22.     o  Using the 48's display routines requires bank shifting
  23.        because all the font tables are contained in the hidden
  24.        ROM, and this can reduce the overall speed of programs
  25.        that require frequent displaying of data.
  26.  
  27.     o  This routine uses arguments similar to DISP except that
  28.        level 2 can be only a string, global or local name and
  29.        level 1 must be a real; where values less than or equal
  30.        to 0 will display at the top of the display and values
  31.        greater than or equal to 7 will appear at the bottom of
  32.        display where the menu bars are located.
  33.  
  34.     o  Negative numbers are treated as if they were positive.
  35.  
  36.  
  37. Rick Grevelle
  38. ftg0673@tamsun.tamu.edu
  39. END_DOC
  40.  
  41. BEGIN_SRC mdisp.s
  42.  
  43.     ascii      `HPHP48-E'
  44.     
  45.     code
  46.  
  47.     move.1     0xf, p        ; p=f
  48.     move.p1    0x2, c        ; c(s)=2
  49.     move.1     0x9, p        ; p=9
  50.     call.a     0x18ac6        ; check2 args
  51.     call.a     0x0679b        ; save registers
  52.     move.a     @d1, c        ; c=hhhhh
  53.     swap.a     c, d1        ; d1=hhhhh, c=XXXXX
  54.     push.a     c            ; rstk=XXXXX
  55.     move.p5    0x02933, c        ; c=02933
  56.     move.a     @d1, a        ; a=level 1 prolog
  57.     breq.a     c, a, argok        ; arg is real
  58.     jump.3     errmsg        ; do error/exit
  59.  
  60.   argok:
  61.     add.a      0x5, d1        ; d1=hhhhh+5
  62.     move.a     @d1, a        ; a=??eee
  63.     brz.x      a, realok        ; within range
  64.     move.p3    0x500, c        ; c=500
  65.     clr.s      a            ; a(s)=0
  66.     brle.x     c, a, toprw        ; #500 le a
  67.     dec.s      a            ; a(s)=f
  68.     jump.3     toprw        ; menus
  69.  
  70.  realok:
  71.     add.a      0xe, d1        ; d1=hhhhh+19
  72.     move.s     @d1, a        ; a(s)=0-9
  73.  
  74.   toprw:
  75.     move.1     0xf, p        ; p=f
  76.     move.p1    0x7, c        ; c(s)=7
  77.     move.1     0x0, p        ; p=0
  78.     clr.a      c            ; c=00000
  79.     move.p2    0x14, c        ; c=00014
  80.     move.a     c, a            ; a=(above)
  81.     brle.s     c, a, menuptr    ; menus
  82.     move.5     0x7055b, d0        ; d0=7055b
  83.     move.p3    0x110, c        ; c=00110
  84.     move.s     a, c            ; c(s)=row number
  85.  
  86.  rwloop:
  87.     dec.s      c            ; decr loop counter
  88.     brcs       setrw        ; set row address
  89.     add.a      c, a            ; a=#14+(n*#110)
  90.     brcc       rwloop        ; continue
  91.  
  92. menuptr:
  93.     move.5     0x70551, d0        ; d0=70551
  94.  
  95.   setrw:
  96.     move.a    @d0, c        ; c=stk/menu grob
  97.     add.a     c, a            ; a=row address
  98.     pop.a     c            ; c=XXXXX
  99.     swap.a    a, c            ; c=row addr, a=(above)
  100.     push.a    c            ; rstk=row addr
  101.     move.a    a, d1            ; d1=XXXXX
  102.     add.a     0x5, d1        ; d1=XXXXX+5
  103.     move.a    @d1, a        ; a=iiiii
  104.     move.a    a, d1            ; d1=(above)
  105.     move.a    @d1, a        ; a=level 2 prolog
  106.     add.a     0x5, d1        ; d1=iiiii+5
  107.     move.p5   0x02a2c, c        ; c=02a2c
  108.     brne.a    c, a, testnm        ; string arg
  109.     pop.a     c            ; c=row addr
  110.     call.3    clrwn            ; clear row
  111.     call.3    strhook        ; display string
  112.     jump.3    exit            ; exit
  113.  
  114.  testnm:
  115.     move.p5   0x02e48, c        ; c=02e48
  116.     breq.a    c, a, dispnm        ; display name
  117.     move.p5   0x02e6d, c        ; c=02e6d
  118.     brne.a    c, a, errmsg        ; error message
  119.  
  120.  dispnm:
  121.     pop.a     c            ; c=row addr
  122.     call.3    clrwn            ; clear row
  123.     call.3    glbhook        ; display name
  124.  
  125.    exit:
  126.     call.a     0x067d2        ; getptr
  127.     inc.a      d            ;\
  128.     inc.a      d            ; drop2
  129.     add.a      0xa, d1        ;/
  130.     move.a     @d0, a        ;\
  131.     add.a      0x5, d0        ; rpl ret
  132.     jump.a     @a            ;/
  133.  
  134.  errmsg:
  135.     pop.a      c            ; clear rstk
  136.     call.a     0x067d2        ; getptr
  137.     jump.a     0x18cb7        ; errn #202
  138.  
  139.   clrwn:
  140.     push.a     c            ; rstk=row addr
  141.     move.a     c, d0        ; d0=row addr
  142.     clr.a      c            ; c=00000
  143.     move.p2    0x10, c        ; c=00010
  144.     clr.w      a            ; a=0000000000000000
  145.  
  146. clrloop:
  147.     move.w     a, @d0        ; clear pixels
  148.     add.a      0x10, d0        ; d0=next pixels
  149.     dec.a      c            ; decr loop counter
  150.     brcc       clrloop        ; continue
  151.     pop.a      c            ; c=row addr
  152.     move.a     c, d0        ; d0=(above)
  153.     ret                ;
  154.  
  155. strhook:
  156.     clrb       0x1, st        ; (string hook)
  157.     move.a     @d1, c        ; c=string length
  158.     sub.a      0x5, c        ; c=(above) - 5
  159.     retz.a     c            ; null string, return set
  160.     srb.a      c             ; c=number of bytes
  161.     add.a      0x3, d1        ; d1=addr of 1st char - 2
  162.     jump.3     strintr        ; string intro
  163.  
  164. glbhook:
  165.     clrb      0x1, st        ; (global hook)
  166.     clr.a     c            ; c=00000
  167.     move.b    @d1, c        ; c=number of bytes
  168.     retz.a    c            ; null name, return set
  169.  
  170. strintr:
  171.     clrb      0x0, st        ; clr oversize flag
  172.     move.a    c, d            ; c=(above)
  173.     dec.a     d            ; initialize loop count
  174.     move.p5   0x00015, c        ; c=00015
  175.     brle.a    d, c, getble        ; get grob table addr
  176.     setb      0x0, st        ; set oversize flag
  177.     move.a    c, d            ; d=00015
  178.     dec.a     d            ; adjust loop count
  179.  
  180.  getble:
  181.     call.3    grobtbl        ; a=grob table addr - 2
  182.     move.a    a, b            ; b=(above)
  183.     move.p5   0x001ee, c        ; c=(16 x 31) - 2
  184.     sub.a     c, b            ; b=prg counter - 494
  185.     
  186. strloop:
  187.     add.a     0x2, d1        ; d1=addr of ascii char
  188.     clr.a     c            ; c=00000
  189.     move.b    @d1, c        ; c=ascii char
  190.     move.p5   0x0001e, a        ; a=0001e
  191.     brgt.a    c, a, setchar        ; set register c if taken
  192.     move.p2   0x9e, c        ; c=0009e
  193.  
  194. setchar:
  195.     sln.a    c            ; c=c / 16
  196.     add.a    b, c            ; c=char addr in table
  197.     swap.a   c, d1            ; d1=(above) c=addr of char
  198.     push.a   c            ; rstk=saved d1
  199.     swap.a   c, d0            ; c=stack grob addr
  200.     move.a   c, d0            ; restore d0
  201.     push.a   c            ; rstk=saved d0
  202.     call.3   dispchr        ; display char
  203.     pop.a    c            ; c=saved d0
  204.     move.a   c, d0            ; restore d0
  205.     add.a    0x1, d0        ; d0=next grob char position
  206.     pop.a    c            ; c=saved d1
  207.     move.a   c, d1            ; restore d1
  208.     brbs     0x1, st, clrbit    ; clear bit if set
  209.     setb     0x1, st        ; set odd pass flag
  210.     jump.3   decrcnt        ; decr loop count
  211.  
  212.  clrbit:
  213.     clrb    0x1, st            ; clr odd pass flag
  214.     add.a   0x1, d0            ; d0=next grob char position
  215.  
  216. decrcnt:
  217.     dec.a   d            ; decr loop count
  218.     brcc    strloop            ; continue
  219.     brbs    0x0, st, wrticks    ; display tick marks
  220.     ret                ; exit display scheme
  221.  
  222. wrticks:
  223.     move.p5 0x001f0, c        ; c=001f0
  224.     add.a   b, c            ; c=ticks addr
  225.     move.a  c, d1            ; d1=(above)
  226.     
  227.  
  228. dispchr:
  229.     move.1  0x8, p            ; p=char loop count
  230.  
  231. chrloop:
  232.     move.b  @d1, c            ; char grob byte in table
  233.     brbc    0x1, st, oddpass    ; even if taken
  234.     move.b  @d0, a            ; a=stack grob byte
  235.     sln.a   c            ;\
  236.     srb.a   c            ; move char over 2 bits
  237.     srb.a   c            ;/
  238.     or.b    a, c            ; c=adjustment    
  239.  
  240. oddpass:
  241.     move.b  c, @d0            ; set display data
  242.     add.a   0x10, d0        ;\
  243.     add.a   0x10, d0        ; next line of pixels
  244.     add.a   0x2, d0            ;/
  245.     add.a   0x2, d1            ; d1=next byte of grob char
  246.     inc.1   p            ; incr loop count
  247.     brcc    chrloop            ; continue
  248.     retclrc                ;
  249.  
  250. grobtbl:
  251.     move.a  pc,a            ; a= program counter
  252.     retclrc                ; return clear carry
  253.     data.16 0x0015150000000000
  254.     data.16 0x0000000000000000
  255.     data.16 0x0004000404040404
  256.     data.16 0x00000000000a0a0a
  257.     data.16 0x000a0a1f0a1f0a0a
  258.     data.16 0x00040f140e051e04
  259.     data.16 0x0018190204081303
  260.     data.16 0x0016091502050502
  261.     data.16 0x0000000000040404
  262.     data.16 0x0008040202020408
  263.     data.16 0x0002040808080402
  264.     data.16 0x00000a041f040a00
  265.     data.16 0x000004041f040400
  266.     data.16 0x0204060600000000
  267.     data.16 0x000000001f000000
  268.     data.16 0x0006060000000000
  269.     data.16 0x0000010204081000
  270.     data.16 0x000e11131519110e
  271.     data.16 0x000e040404040604
  272.     data.16 0x001f01020c10110e
  273.     data.16 0x000e11100e10110e
  274.     data.16 0x0008081f090a0c08
  275.     data.16 0x000e1110100f011f
  276.     data.16 0x000e11110f01020c
  277.     data.16 0x000202020408101f
  278.     data.16 0x000e11110e11110e
  279.     data.16 0x000608101e11110e
  280.     data.16 0x0000060600060600
  281.     data.16 0x0204060600060600
  282.     data.16 0x0008040201020408
  283.     data.16 0x0000001f001f0000
  284.     data.16 0x0001020408040201
  285.     data.16 0x000400040810110e
  286.     data.16 0x001e01051d15110e
  287.     data.16 0x001111111f11110e
  288.     data.16 0x000f11110f11110f
  289.     data.16 0x000e11010101110e
  290.     data.16 0x0007091111110907
  291.     data.16 0x001f01010f01011f
  292.     data.16 0x000101010f01011f
  293.     data.16 0x001e11190101110e
  294.     data.16 0x001111111f111111
  295.     data.16 0x000e04040404040e
  296.     data.16 0x000e111110101010
  297.     data.16 0x0011090503050911
  298.     data.16 0x001f010101010101
  299.     data.16 0x0011111115151b11
  300.     data.16 0x0011111915131111
  301.     data.16 0x000e11111111110e
  302.     data.16 0x000101010f11110f
  303.     data.16 0x001609151111110e
  304.     data.16 0x001109050f11110f
  305.     data.16 0x000e11100e01110e
  306.     data.16 0x000404040404041f
  307.     data.16 0x000e111111111111
  308.     data.16 0x0004040a0a111111
  309.     data.16 0x00111b1515111111
  310.     data.16 0x0011110a040a1111
  311.     data.16 0x00040404040a1111
  312.     data.16 0x001f01020408101f
  313.     data.16 0x000e02020202020e
  314.     data.16 0x0000100804020100
  315.     data.16 0x000e08080808080e
  316.     data.16 0x0000000000110a04
  317.     data.16 0x001f000000000000
  318.     data.16 0x0000000000040202
  319.     data.16 0x001e111e100e0000
  320.     data.16 0x000f1111110f0101
  321.     data.16 0x001e0101011e0000
  322.     data.16 0x001e1111111e1010
  323.     data.16 0x000e011f110e0000
  324.     data.16 0x0002020207020a04
  325.     data.16 0x0e101e11110e0000
  326.     data.16 0x00111111110f0101
  327.     data.16 0x000e040404060004
  328.     data.16 0x06090808080c0008
  329.     data.16 0x0009050305090101
  330.     data.16 0x000e040404040406
  331.     data.16 0x00111515150b0000
  332.     data.16 0x00111111110f0000
  333.     data.16 0x000e1111110e0000
  334.     data.16 0x01010f11110f0000
  335.     data.16 0x10101e11111e0000
  336.     data.16 0x00010101031d0000
  337.     data.16 0x000f100e011e0000
  338.     data.16 0x00040a0202070202
  339.     data.16 0x001e111111110000
  340.     data.16 0x00040a1111110000
  341.     data.16 0x000a151511110000
  342.     data.16 0x00110a040a110000
  343.     data.16 0x0e101e1111110000
  344.     data.16 0x001f0204081f0000
  345.     data.16 0x000c02020102020c
  346.     data.16 0x0004040404040404
  347.     data.16 0x0006080810080806
  348.     data.16 0x0000000815020000
  349.     data.16 0x00150a150a150a15
  350.     data.16 0x001f090604081000
  351.     data.16 0x00110a040a11001f
  352.     data.16 0x0000040a0a111f00
  353.     data.16 0x000406050404041c
  354.     data.16 0x0002050404041408
  355.     data.16 0x001f12040804121f
  356.     data.16 0x0003070f1f0f0703
  357.     data.16 0x000a0a0a0a1f0000
  358.     data.16 0x000e11111e080402
  359.     data.16 0x001f001f02040810
  360.     data.16 0x001f001f08040201
  361.     data.16 0x0000021f041f0800
  362.     data.16 0x0016090916000000
  363.     data.16 0x000004081f080400
  364.     data.16 0x000004021f020400
  365.     data.16 0x00040e1504040404
  366.     data.16 0x0004040404150e04
  367.     data.16 0x0008080815120000
  368.     data.16 0x000609090e040204
  369.     data.16 0x000e010f010e0000
  370.     data.16 0x10101414150a0000
  371.     data.16 0x000609090f090906
  372.     data.16 0x00110a0402010100
  373.     data.16 0x0102020e12120c00
  374.     data.16 0x00060909091e0000
  375.     data.16 0x00081404051e0000
  376.     data.16 0x000a151511090000
  377.     data.16 0x00001f110a040000
  378.     data.16 0x000a0a0a0a0a0a1f
  379.     data.16 0x001b0a111111110e
  380.     data.16 0x0000000e0e0e0000
  381.     data.16 0x00000a15150a0000
  382.     data.16 0x0000000000000000
  383.     data.16 0x0004040404040004
  384.     data.16 0x00041e05051e0400
  385.     data.16 0x001f02020702120c
  386.     data.16 0x00110e1111110e11
  387.     data.16 0x00041f041f0a1111
  388.     data.16 0x0004040400040404
  389.     data.16 0x0006080e110e020c
  390.     data.16 0x000000000000000a
  391.     data.16 0x000e11171317110e
  392.     data.16 0x00000f06090e0806
  393.     data.16 0x0000140a050a1400
  394.     data.16 0x000000080f000000
  395.     data.16 0x000000000f000000
  396.     data.16 0x000e111b1717110e
  397.     data.16 0x000000000000001f
  398.     data.16 0x00000000000e0a0e
  399.     data.16 0x001f04041f040400
  400.     data.16 0x0000000e020e080e
  401.     data.16 0x0000000e080e080e
  402.     data.16 0x0000000000000408
  403.     data.16 0x0117090909000000
  404.     data.16 0x001614141617171e
  405.     data.16 0x0000000606000000
  406.     data.16 0x0608040000000000
  407.     data.16 0x000000000e040406
  408.     data.16 0x00001f000e11110e
  409.     data.16 0x0000050a140a0500
  410.     data.16 0x00101c1502050901
  411.     data.16 0x001808111a050901
  412.     data.16 0x00101c17060b1203
  413.     data.16 0x000e110102040004
  414.     data.16 0x0011111f110e0402
  415.     data.16 0x0011111f110e0408
  416.     data.16 0x0011111f110e0a04
  417.     data.16 0x0011111f110e050a
  418.     data.16 0x0011111f110e000a
  419.     data.16 0x0011111f110e0a0e
  420.     data.16 0x001d05051f05051a
  421.     data.16 0x06080e110101110e
  422.     data.16 0x001f010f011f0402
  423.     data.16 0x001f010f011f0408
  424.     data.16 0x001f010f011f0a04
  425.     data.16 0x001f010f011f000a
  426.     data.16 0x000e0404040e0402
  427.     data.16 0x000e0404040e0408
  428.     data.16 0x000e0404040e0a04
  429.     data.16 0x000e0404040e000a
  430.     data.16 0x00060a1217120a06
  431.     data.16 0x0011191513110a14
  432.     data.16 0x000e1111110e0402
  433.     data.16 0x000e1111110e0408
  434.     data.16 0x000e1111110e0a04
  435.     data.16 0x000e1111110e050a
  436.     data.16 0x000e1111110e000a
  437.     data.16 0x0000110a040a1100
  438.     data.16 0x00010e1315190e10
  439.     data.16 0x000e111111110402
  440.     data.16 0x000e111111110408
  441.     data.16 0x000e111111000a04
  442.     data.16 0x000e11111111000a
  443.     data.16 0x000404040a110408
  444.     data.16 0x0007020e120e0207
  445.     data.16 0x01010f11110f110e
  446.     data.16 0x001e111e100e0402
  447.     data.16 0x001e111e100e0408
  448.     data.16 0x001e111e100e0a04
  449.     data.16 0x001e111e100e050a
  450.     data.16 0x001e111e100e000a
  451.     data.16 0x001e111e100e0a0e
  452.     data.16 0x001f051f141b0000
  453.     data.16 0x06081e01011e0000
  454.     data.16 0x000e011f110e0402
  455.     data.16 0x000e011f110e0408
  456.     data.16 0x000e011f110e0a04
  457.     data.16 0x000e011f110e000a
  458.     data.16 0x000e040406000402
  459.     data.16 0x000e040406000408
  460.     data.16 0x000e040406000a04
  461.     data.16 0x000e04040600000a
  462.     data.16 0x000609090e081c08
  463.     data.16 0x001111110f000a14
  464.     data.16 0x000e11110e000402
  465.     data.16 0x000e11110e000408
  466.     data.16 0x000e11110e000a04
  467.     data.16 0x000e11110e000a14
  468.     data.16 0x000e11110e00000a
  469.     data.16 0x000004001f000400
  470.     data.16 0x000d121509160000
  471.     data.16 0x001e111111000402
  472.     data.16 0x001e111111000408
  473.     data.16 0x001e111111000a04
  474.     data.16 0x001e11111100000a
  475.     data.16 0x0e101e1111000408
  476.     data.16 0x0101070909070100
  477.     data.16 0x0e101e111100000a
  478.  
  479.     endcode
  480.  
  481. END_SRC
  482.  
  483.  
  484. BEGIN_ASC mdisp.asc
  485. %%HP: T(3)A(D)F(.);
  486. "CCD20530102F302298F6CA818FB97601471370634339201438A2606FC0174143
  487. 9386132005AC09BE01A4C6A0017D15342F30720D23141DA9CEC11BB550732011
  488. AC6A4E4E0CA57F1B15507146CA07DE0613117414313114317434C2A208A60107
  489. 72507F6065203484E208A2E034D6E208A642077C2076608F2D760E7E71791421
  490. 64808C078F2D7608D7BC8106134D23101AF0150716FCE56F0713401841147818
  491. FA48AA00819F21726010841D214F8AA00840D7CF34510008BF90850D7CF75A0D
  492. 834EE100E1171D214F80824E10008B26031E9F2C913706136134067730071341
  493. 6007135871908516900841160CF5EA8704001340F100C91352814F8615114AF2
  494. 819F2819F20E6A14C16F16F1611710C53D0381B4030000000000515100000000
  495. 00000000004040404040004000A0A0A00000000000A0A0F1A0F1A0A00040E150
  496. E041F04000303180402091810020505020519061004040400000000000804020
  497. 2020408000204080808040200000A040F140A00000004040F140400000000000
  498. 0060604020000000F10000000000000000006060000001804020100000E01191
  499. 513111E000406040404040E000E01101C02010F100E01101E00111E00080C0A0
  500. 90F1808000F110F0010111E000C02010F01111E000F101804020202000E01111
  501. E01111E000E01111E10180600000606000606000000060600060604020804020
  502. 10204080000000F100F10000001020408040201000E011018040004000E01151
  503. D15010E100E01111F111111100F01111F01111F000E01110101011E000709011
  504. 1111907000F11010F01010F100F11010F010101000E01110109111E100111111
  505. F111111100E04040404040E000010101011111E0001190503050901100101010
  506. 101010F10011B15151111111001111315191111100E01111111111E000F01111
  507. F010101000E011111151906100F01111F050901100E01110E00111E000F14040
  508. 4040404000111111111111E000111111A0A04040001111115151B111001111A0
  509. 40A01111001111A04040404000F10180402010F100E02020202020E000001020
  510. 4080010000E08080808080E00040A0110000000000000000000000F100202040
  511. 00000000000000E001E111E1001010F0111111F0000000E1101010E1000101E1
  512. 111111E1000000E011F110E00040A02070202020000000E01111E101E01010F0
  513. 1111111100400060404040E0008000C080808090601010905030509000604040
  514. 404040E0000000B051515111000000F011111111000000E0111111E0000000F0
  515. 1111F010100000E11111E101010000D130101010000000E110E001F000202070
  516. 2020A04000000011111111E1000000111111A04000000011115151A000000011
  517. A040A011000000111111E101E00000F1804020F100C02020102020C000404040
  518. 40404040006080800180806000000020518000000051A051A051A05100000180
  519. 406090F100F10011A040A0110000F111A0A0400000C140404050604000804140
  520. 4040502000F12140804021F1003070F0F1F07030000000F1A0A0A0A000204080
  521. E11111E00001804020F100F10010204080F100F1000080F140F1200000000000
  522. 6190906100004080F180400000004020F1204000004040404051E0400040E051
  523. 40404040000000215180808000402040E0909060000000E010F010E0000000A0
  524. 5141410101609090F0909060000010102040A0110000C02121E02020100000E1
  525. 90909060000000E15040418000000090115151A000000040A011F10000F1A0A0
  526. A0A0A0A000E011111111A0B1000000E0E0E00000000000A05151A00000000000
  527. 000000000040004040404040000040E15050E14000C02120702020F10011E011
  528. 1111E011001111A0F140F140004040400040404000C020E011E0806000A00000
  529. 0000000000E01171317111E0006080E09060F000000041A050A0410000000000
  530. F080000000000000F000000000E0117171B111E000F100000000000000E0A0E0
  531. 0000000000004040F14040F100E080E020E0000000E080E080E0000000804000
  532. 00000000000000009090907110E1717161414161000000006060000000000000
  533. 0000408060604040E000000000E01111E000F100000050A041A0500000109050
  534. 2051C10100109050A1118081003021B06071C10100400040201011E0002040E0
  535. 11F11111008040E011F111110040A0E011F1111100A050E011F1111100A000E0
  536. 11F1111100E0A0E011F1111100A15050F15050D100E011101011E080602040F1
  537. 10F010F1008040F110F010F10040A0F110F010F100A000F110F010F1002040E0
  538. 404040E0008040E0404040E00040A0E0404040E000A000E0404040E00060A021
  539. 7121A0600041A01131519111002040E0111111E0008040E0111111E00040A0E0
  540. 111111E000A050E0111111E000A000E0111111E0000011A040A011000001E091
  541. 5131E01000204011111111E000804011111111E00040A000111111E000A00011
  542. 111111E000804011A0404040007020E021E0207000E011F01111F010102040E0
  543. 01E111E1008040E001E111E10040A0E001E111E100A050E001E111E100A000E0
  544. 01E111E100E0A0E001E111E1000000B141F150F1000000E11010E180602040E0
  545. 11F110E0008040E011F110E00040A0E011F110E000A000E011F110E000204000
  546. 604040E000804000604040E00040A000604040E000A00000604040E00080C180
  547. E09090600041A000F011111100204000E01111E000804000E01111E00040A000
  548. E01111E00041A000E01111E000A00000E01111E000004000F100400000000061
  549. 905121D000204000111111E100804000111111E10040A000111111E100A00000
  550. 111111E1008040001111E101E00010709090701010A000001111E101E0CD3D"
  551. END_ASC
  552.  
  553. BYTES: #D3DCh 2086.5
  554.  
  555. BEGIN_UU mdisp.uue
  556. begin 600 mdisp
  557. M2%!(4#0X+47,+5 # ?(#(HEOK!CXFV<0=#$'-C23 D&#*@;V#'$4-#EH,0)0
  558. MRI#K$$IL"A#744/R R?0,D'1FNP<L5L%-P(1RJ;DY,!:][%1!1=DK'#M8#$1
  559. M1T$3$T$31T,L*H!J$' G!?<&5@)#2"Z *@Y#;2Z :B1PQP)G!OC29^#G%Y=!
  560. M$D8(R'#XTF> ?<L88#'4,@&A#U%P8<]>]G Q!($408>!KX2J !CY$B<& 4C1
  561. M$O2H"H $??Q#%0" ^PE8T,=_I= XY!X 'G'1$O0(*.0! +AB,.'YPAES8#$6
  562. M0V!W W Q% 9P,847"5AA"8 48<!?KGA  #$$'P"<,248]&A1$:0O&/F"D2_@
  563. MID$<]F$?%G$!7-,P&$LP       5%0            0$! 0$  0 "@H*    
  564. M   *"A\*'PH*  0>!0X4#P0  Q,(! (9&  "!04"%0D6  0$!       " 0"
  565. M @($"  "! @(" 0"   *!!\$"@    0$'P0$        !@8$ @   !\     
  566. M       &!@  $ @$ @$   X1&143$0X ! 8$! 0$#@ .$1 , @$?  X1$ X0
  567. M$0X " P*"1\("  ? 0\0$!$.  P" 0\1$0X 'Q (! (" @ .$1$.$1$.  X1
  568. M$1X0" 8   8&  8&    !@8 !@8$ @@$ @$"! @    ? !\    ! @0(! (!
  569. M  X1$ @$  0 #A$5'04!'@ .$1$?$1$1  \1$0\1$0\ #A$! 0$1#@ '"1$1
  570. M$0D' !\! 0\! 1\ 'P$!#P$! 0 .$0$!&1$> !$1$1\1$1$ #@0$! 0$#@ 0
  571. M$! 0$1$. !$)!0,%"1$  0$! 0$!'P 1&Q45$1$1 !$1$Q49$1$ #A$1$1$1
  572. M#@ /$1$/ 0$!  X1$1$5"18 #Q$1#P4)$0 .$0$.$!$. !\$! 0$! 0 $1$1
  573. M$1$1#@ 1$1$*"@0$ !$1$145&Q$ $1$*! H1$0 1$0H$! 0$ !\0" 0" 1\ 
  574. M#@(" @("#@   0($"!    X(" @(" X ! H1               ?  ("!   
  575. M       .$!X1'@ ! 0\1$1$/    '@$! 1X $! >$1$1'@    X1'P$.  0*
  576. M @<" @(    .$1$>$ X! 0\1$1$1  0 !@0$! X "  ," @("08! 0D% P4)
  577. M  8$! 0$! X    +%145$0    \1$1$1    #A$1$0X    /$1$/ 0$  !X1
  578. M$1X0$   '0,! 0$    > 0X0#P " @<" @H$    $1$1$1X    1$1$*!   
  579. M !$1%14*    $0H$"A$    1$1$>$ X  !\(! (?  P" @$" @P ! 0$! 0$
  580. M!  &" @0" @&     A4(    %0H5"A4*%0  $ @$!@D? !\ $0H$"A$  !\1
  581. M"@H$   <! 0$!08$  @4! 0$!0( 'Q($" 02'P #!P\?#P<#    'PH*"@H 
  582. M @0('A$1#@ 0" 0"'P ?  $"! @? !\   @?!!\"       6"0D6   $"!\(
  583. M!     0"'P($   $! 0$%0X$  0.%00$! 0    2%0@("  $ @0."0D&    
  584. M#@$/ 0X    *%104$! &"0D/"0D&   ! 0($"A$   P2$@X" @$  !X)"0D&
  585. M    '@4$% @    )$145"@    0*$1\  !\*"@H*"@H #A$1$1$*&P    X.
  586. M#@      "A45"@             $  0$! 0$   $'@4%'@0 #!("!P("'P 1
  587. M#A$1$0X1 !$1"A\$'P0 ! 0$  0$!  , @X1#@@&  H         #A$7$Q<1
  588. M#@ &" X)!@\    4"@4*%       #P@        /      X1%Q<;$0X 'P  
  589. M       ."@X        $!!\$!!\ #@@. @X    ." X(#@    @$        
  590. M    "0D)%P$>%Q<6%!06      8&           $" 8&! 0.      X1$0X 
  591. M'P    4*% H%   !"04"%1P0  $)!1H1"!@  Q(+!A<<$  $  0" 1$.  ($
  592. M#A$?$1$ " 0.$1\1$0 $"@X1'Q$1  H%#A$?$1$ "@ .$1\1$0 ."@X1'Q$1
  593. M !H%!1\%!1T #A$! 1$." 8"!!\!#P$?  @$'P$/ 1\ ! H? 0\!'P * !\!
  594. M#P$?  ($#@0$! X " 0.! 0$#@ $"@X$! 0.  H #@0$! X !@H2%Q(*!@ 4
  595. M"A$3%1D1  ($#A$1$0X " 0.$1$1#@ $"@X1$1$.  H%#A$1$0X "@ .$1$1
  596. M#@  $0H$"A$  ! .&143#@$  @01$1$1#@ (!!$1$1$.  0* !$1$0X "@ 1
  597. M$1$1#@ (!!$*! 0$  <"#A(. @< #A$/$1$/ 0$"! X0'A$>  @$#A >$1X 
  598. M! H.$!X1'@ *!0X0'A$>  H #A >$1X #@H.$!X1'@   !L4'P4?    '@$!
  599. M'@@& @0.$1\!#@ (! X1'P$.  0*#A$? 0X "@ .$1\!#@ "!  &! 0.  @$
  600. M  8$! X ! H !@0$#@ *   &! 0.  @<" X)"08 % H #Q$1$0 "!  .$1$.
  601. M  @$  X1$0X ! H #A$1#@ 4"@ .$1$.  H   X1$0X   0 'P $     !8)
  602. M%1(-  ($ !$1$1X " 0 $1$1'@ $"@ 1$1$>  H  !$1$1X " 0 $1$>$ X 
  603. / 0<)"0<! 0H  !$1'A .
  604.  
  605. end
  606. END_UU
  607.